﻿2026-06-06T06:01:02.9353745Z ##[group]Run ./traceable-reqs lint || true
2026-06-06T06:01:02.9354795Z [36;1m./traceable-reqs lint || true[0m
2026-06-06T06:01:02.9377676Z shell: /usr/bin/bash -e {0}
2026-06-06T06:01:02.9378404Z ##[endgroup]
2026-06-06T06:01:02.9637267Z Requirement quality findings (24); 144 requirements queued for agent review:
2026-06-06T06:01:02.9640639Z   [must] requirement_quality REQ-API-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9643940Z   [must] requirement_quality REQ-CONSENT-1 criterion=length — title is 41 words; want 3..=25
2026-06-06T06:01:02.9647064Z   [must] requirement_quality REQ-CONSENT-2 criterion=length — title is 37 words; want 3..=25
2026-06-06T06:01:02.9650178Z   [must] requirement_quality REQ-HAZARD-CONFLICT-BOTH-PRESERVED criterion=length — title is 29 words; want 3..=25
2026-06-06T06:01:02.9653369Z   [must] requirement_quality REQ-HAZARD-DAEMON-SCHED-NONBLOCKING criterion=length — title is 32 words; want 3..=25
2026-06-06T06:01:02.9656638Z   [must] requirement_quality REQ-HAZARD-DETACHED-PIPE-INHERIT criterion=length — title is 52 words; want 3..=25
2026-06-06T06:01:02.9660604Z   [must] requirement_quality REQ-HAZARD-ENVELOPE-PARSER-SAFE criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9664977Z   [must] requirement_quality REQ-HAZARD-GEN-START-NOW criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9668286Z   [must] requirement_quality REQ-HAZARD-PAIR-RATE-LIMIT criterion=length — title is 37 words; want 3..=25
2026-06-06T06:01:02.9671565Z   [must] requirement_quality REQ-HAZARD-PAIR-SEED-ROTATION criterion=length — title is 33 words; want 3..=25
2026-06-06T06:01:02.9685193Z   [must] requirement_quality REQ-HAZARD-PAIR-TRANSCRIPT-BIND criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9689829Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9693648Z   [must] requirement_quality REQ-HAZARD-PSYCHE-OUTBOUND-PROXY criterion=length — title is 27 words; want 3..=25
2026-06-06T06:01:02.9696599Z   [must] requirement_quality REQ-HAZARD-WAN-ORIGIN-AUTH criterion=length — title is 37 words; want 3..=25
2026-06-06T06:01:02.9699210Z   [must] requirement_quality REQ-INST-15 criterion=length — title is 32 words; want 3..=25
2026-06-06T06:01:02.9701822Z   [must] requirement_quality REQ-INSTALL-2 criterion=length — title is 2 word(s); want 3..=25
2026-06-06T06:01:02.9704730Z   [must] requirement_quality REQ-MANIFEST-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9708119Z   [must] requirement_quality REQ-MIGRATE-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9711759Z   [must] requirement_quality REQ-PRES-1 criterion=contains-and — title contains ' and ' — may smuggle multiple capabilities
2026-06-06T06:01:02.9714547Z   [must] requirement_quality REQ-PRES-1 criterion=length — title is 48 words; want 3..=25
2026-06-06T06:01:02.9716875Z   [must] requirement_quality REQ-SEAM-SPAWN criterion=length — title is 2 word(s); want 3..=25
2026-06-06T06:01:02.9719282Z   [must] requirement_quality REQ-SHELL-1 criterion=length — title is 36 words; want 3..=25
2026-06-06T06:01:02.9721893Z   [must] requirement_quality REQ-SHELL-2 criterion=length — title is 49 words; want 3..=25
2026-06-06T06:01:02.9724179Z   [must] requirement_quality REQ-STORE-1 criterion=length — title is 34 words; want 3..=25
2026-06-06T06:01:02.9725496Z 
2026-06-06T06:01:02.9725783Z # Requirement quality review
2026-06-06T06:01:02.9726293Z 
2026-06-06T06:01:02.9727105Z You are reviewing 144 requirement(s) from `traceable-reqs.toml` against a quality
2026-06-06T06:01:02.9729088Z rubric. Deterministic checks (length, contains-and, tbd-todo, duplicate-titles,
2026-06-06T06:01:02.9731598Z trailing-etc) have already run and surfaced as `requirement_quality` findings on
2026-06-06T06:01:02.9733834Z this command's output. Your task is the rubric items below.
2026-06-06T06:01:02.9734734Z 
2026-06-06T06:01:02.9734947Z ## Rubric
2026-06-06T06:01:02.9735251Z 
2026-06-06T06:01:02.9736263Z - **singular** — describes one capability; no smuggled "and"/"or" across distinct actions.
2026-06-06T06:01:02.9738507Z - **verifiable** — states an observable behavior a test or reviewer could confirm.
2026-06-06T06:01:02.9740617Z - **atomic** — cannot be split into two requirements without losing meaning.
2026-06-06T06:01:02.9742127Z - **active-voice** — clear subject and active verb.
2026-06-06T06:01:02.9742909Z 
2026-06-06T06:01:02.9743732Z If a criterion is borderline or doesn't apply, abstain — only emit findings for
2026-06-06T06:01:02.9745093Z clear concerns.
2026-06-06T06:01:02.9745450Z 
2026-06-06T06:01:02.9745676Z ## Requirements
2026-06-06T06:01:02.9746037Z 
2026-06-06T06:01:02.9746257Z ### REQ-ARCH-1
2026-06-06T06:01:02.9746962Z - Title: Many small acyclically-layered crates
2026-06-06T06:01:02.9747973Z - Required stages: impl
2026-06-06T06:01:02.9748425Z 
2026-06-06T06:01:02.9748633Z ### REQ-ARCH-2
2026-06-06T06:01:02.9749870Z - Title: Public SDK surface is spt-proto, spt-runtime, spt-msg
2026-06-06T06:01:02.9751274Z - Required stages: impl
2026-06-06T06:01:02.9751726Z 
2026-06-06T06:01:02.9751950Z ### REQ-ARCH-3
2026-06-06T06:01:02.9753040Z - Title: Wire-protocol version independent of crate semver, N-1 compat window
2026-06-06T06:01:02.9754468Z - Required stages: impl, unit
2026-06-06T06:01:02.9755005Z 
2026-06-06T06:01:02.9755214Z ### REQ-ARCH-4
2026-06-06T06:01:02.9756142Z - Title: Copy-verbatim the commodity layer from the sister project
2026-06-06T06:01:02.9757378Z - Required stages: impl, unit
2026-06-06T06:01:02.9757920Z 
2026-06-06T06:01:02.9758148Z ### REQ-DAEMON-1
2026-06-06T06:01:02.9759061Z - Title: One per-machine spt-daemon owning all per-machine state
2026-06-06T06:01:02.9760660Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9761267Z 
2026-06-06T06:01:02.9761485Z ### REQ-DAEMON-2
2026-06-06T06:01:02.9762254Z - Title: Broker/brain split for seamless self-update
2026-06-06T06:01:02.9763296Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9763890Z 
2026-06-06T06:01:02.9764104Z ### REQ-DAEMON-3
2026-06-06T06:01:02.9764984Z - Title: Any api invocation auto-starts the daemon if absent
2026-06-06T06:01:02.9766126Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9766698Z 
2026-06-06T06:01:02.9766927Z ### REQ-DAEMON-4
2026-06-06T06:01:02.9767620Z - Title: Honor every KNOWN-HAZARDS invariant
2026-06-06T06:01:02.9768568Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9769146Z 
2026-06-06T06:01:02.9769557Z ### REQ-STORE-1
2026-06-06T06:01:02.9774406Z - Title: spt-store::BranchStore (git branch as versioned KV; commit=checkpoint/tip=resume, atomic multi-key, merge-native sync) is the substrate for coarse/durable/audited state (context, registry snapshot+distribution, daemon checkpoint); hot paths (B5 fsync journal) + indexed queries (SQLite spool) excluded (ADR-0011)
2026-06-06T06:01:02.9779552Z - Required stages: impl, unit
2026-06-06T06:01:02.9780255Z 
2026-06-06T06:01:02.9780494Z ### REQ-MANIFEST-1
2026-06-06T06:01:02.9781533Z - Title: Per-adapter manifest with adapter_name and min_spt_core_version
2026-06-06T06:01:02.9782885Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9783473Z 
2026-06-06T06:01:02.9783700Z ### REQ-SEAM-SPAWN
2026-06-06T06:01:02.9784323Z - Title: spawn-session seam
2026-06-06T06:01:02.9785086Z - Required stages: impl, unit
2026-06-06T06:01:02.9785615Z 
2026-06-06T06:01:02.9785873Z ### REQ-SEAM-POSTSPAWN
2026-06-06T06:01:02.9786691Z - Title: post-spawn / api bind seam with boot nonce
2026-06-06T06:01:02.9787714Z - Required stages: impl, unit
2026-06-06T06:01:02.9788243Z 
2026-06-06T06:01:02.9788477Z ### REQ-SEAM-PSYCHE
2026-06-06T06:01:02.9789322Z - Title: spawn-psyche seam (fresh + resume templates)
2026-06-06T06:01:02.9790883Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9791884Z 
2026-06-06T06:01:02.9792127Z ### REQ-SEAM-HISTORY
2026-06-06T06:01:02.9794137Z - Title: History subsystem (fetcher / locate-normalize / native store)
2026-06-06T06:01:02.9795595Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9796359Z 
2026-06-06T06:01:02.9796621Z ### REQ-SEAM-ACTIVITY
2026-06-06T06:01:02.9798088Z - Title: Activity/idle reported via api sentinels, not PTY quiescence
2026-06-06T06:01:02.9799620Z - Required stages: impl, unit
2026-06-06T06:01:02.9800160Z 
2026-06-06T06:01:02.9800388Z ### REQ-SEAM-INJECT
2026-06-06T06:01:02.9801329Z - Title: inject-input methods configurable per activity-state
2026-06-06T06:01:02.9802507Z - Required stages: impl, unit
2026-06-06T06:01:02.9803031Z 
2026-06-06T06:01:02.9803269Z ### REQ-SEAM-RESUME
2026-06-06T06:01:02.9804297Z - Title: resume-session seam (fresh-with-preload / continue-existing)
2026-06-06T06:01:02.9805594Z - Required stages: impl, unit
2026-06-06T06:01:02.9806128Z 
2026-06-06T06:01:02.9806373Z ### REQ-SEAM-CAPABILITY
2026-06-06T06:01:02.9807279Z - Title: Hostable endpoint-types capability declaration
2026-06-06T06:01:02.9808381Z - Required stages: impl, unit
2026-06-06T06:01:02.9809334Z 
2026-06-06T06:01:02.9809625Z ### REQ-SEAM-UPDATE
2026-06-06T06:01:02.9810734Z - Title: Adapter-update avenue (file-pull / delegated command)
2026-06-06T06:01:02.9812163Z - Required stages: impl, unit
2026-06-06T06:01:02.9812706Z 
2026-06-06T06:01:02.9812919Z ### REQ-API-1
2026-06-06T06:01:02.9813823Z - Title: api prefix and adapter_name on every machinery invocation
2026-06-06T06:01:02.9815060Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9815652Z 
2026-06-06T06:01:02.9815865Z ### REQ-API-2
2026-06-06T06:01:02.9816952Z - Title: The api subcommand surface (bind/listen/poll/state/worker/boundary/...)
2026-06-06T06:01:02.9818388Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9819480Z 
2026-06-06T06:01:02.9819748Z ### REQ-API-3
2026-06-06T06:01:02.9820680Z - Title: commune/signoff are file-drops, not commands
2026-06-06T06:01:02.9821745Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9822713Z 
2026-06-06T06:01:02.9822949Z ### REQ-START-1
2026-06-06T06:01:02.9824071Z - Title: Adapters never resolve SPT_HOME; binary on PATH; api bridging only
2026-06-06T06:01:02.9825475Z - Required stages: impl, unit
2026-06-06T06:01:02.9826220Z 
2026-06-06T06:01:02.9826474Z ### REQ-START-2
2026-06-06T06:01:02.9827290Z - Title: Harness-hosted startup: api seed then listen
2026-06-06T06:01:02.9828398Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9829008Z 
2026-06-06T06:01:02.9829284Z ### REQ-START-3
2026-06-06T06:01:02.9830408Z - Title: spt-hosted startup: spawn-session then api bind (no file)
2026-06-06T06:01:02.9831653Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9832225Z 
2026-06-06T06:01:02.9832449Z ### REQ-START-4
2026-06-06T06:01:02.9833206Z - Title: Adapter-injected env aliases (SPT/OWL/LIVE)
2026-06-06T06:01:02.9834233Z - Required stages: impl, unit
2026-06-06T06:01:02.9834763Z 
2026-06-06T06:01:02.9834966Z ### REQ-EP-1
2026-06-06T06:01:02.9835681Z - Title: Day-one endpoint types; open type system
2026-06-06T06:01:02.9836686Z - Required stages: impl, unit
2026-06-06T06:01:02.9837215Z 
2026-06-06T06:01:02.9837429Z ### REQ-EP-2
2026-06-06T06:01:02.9838295Z - Title: Agent endpoints vs Shells distinction in the type model
2026-06-06T06:01:02.9839903Z - Required stages: impl, unit
2026-06-06T06:01:02.9840435Z 
2026-06-06T06:01:02.9840648Z ### REQ-EP-3
2026-06-06T06:01:02.9841629Z - Title: Messaging payloads carry typed operation commands + file blobs
2026-06-06T06:01:02.9842953Z - Required stages: impl, unit
2026-06-06T06:01:02.9843492Z 
2026-06-06T06:01:02.9843695Z ### REQ-EP-4
2026-06-06T06:01:02.9844494Z - Title: PresenceChannel broker endpoint (seam day-one)
2026-06-06T06:01:02.9845601Z - Required stages: impl, unit
2026-06-06T06:01:02.9846142Z 
2026-06-06T06:01:02.9846359Z ### REQ-EP-5
2026-06-06T06:01:02.9850263Z - Title: Concrete shell instantiation model: spawn-mints-instance (vs relink/online), registered-on-node permission + broadcast-is-discovery, per-shell require_approval gate, max_instances_per_owner + over_cap, instance aliasing, discovery scope
2026-06-06T06:01:02.9854623Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9855236Z 
2026-06-06T06:01:02.9855454Z ### REQ-INST-1
2026-06-06T06:01:02.9856940Z - Title: endpoint ID vs instance split (adapter-agnostic ID)
2026-06-06T06:01:02.9858525Z - Required stages: 
2026-06-06T06:01:02.9858554Z 
2026-06-06T06:01:02.9858790Z ### REQ-INST-2
2026-06-06T06:01:02.9859330Z - Title: Per-node files, synced Psyche mind
2026-06-06T06:01:02.9859604Z - Required stages: impl, unit
2026-06-06T06:01:02.9859625Z 
2026-06-06T06:01:02.9859839Z ### REQ-INST-3
2026-06-06T06:01:02.9860312Z - Title: Dormant (warm) / suspended (cold) resting states
2026-06-06T06:01:02.9860591Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9860611Z 
2026-06-06T06:01:02.9860830Z ### REQ-INST-4
2026-06-06T06:01:02.9861454Z - Title: active to dormant/suspended fires a transition echo commune
2026-06-06T06:01:02.9861758Z - Required stages: impl, unit
2026-06-06T06:01:02.9861782Z 
2026-06-06T06:01:02.9862002Z ### REQ-INST-5
2026-06-06T06:01:02.9862622Z - Title: Two-tier context sync (live to all, project to same-project)
2026-06-06T06:01:02.9862914Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9863146Z 
2026-06-06T06:01:02.9863368Z ### REQ-INST-6
2026-06-06T06:01:02.9864037Z - Title: Deferred messages not delivered to dormant/suspended instances
2026-06-06T06:01:02.9864318Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9864349Z 
2026-06-06T06:01:02.9864554Z ### REQ-INST-7
2026-06-06T06:01:02.9864981Z - Title: Subnet registry + bare-id resolution policy
2026-06-06T06:01:02.9865266Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9865285Z 
2026-06-06T06:01:02.9865507Z ### REQ-INST-8
2026-06-06T06:01:02.9865998Z - Title: Remote-control mode distinct from local operation
2026-06-06T06:01:02.9866293Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9866310Z 
2026-06-06T06:01:02.9866536Z ### REQ-INST-9
2026-06-06T06:01:02.9867198Z - Title: Multi-subnet membership (same-user N subnets; cross-user seam)
2026-06-06T06:01:02.9867474Z - Required stages: impl, unit
2026-06-06T06:01:02.9867497Z 
2026-06-06T06:01:02.9867705Z ### REQ-INST-10
2026-06-06T06:01:02.9868513Z - Title: Qualified addressing [subnet:]id[@node] + ambiguity forces qualification
2026-06-06T06:01:02.9868789Z - Required stages: impl, unit
2026-06-06T06:01:02.9868806Z 
2026-06-06T06:01:02.9869015Z ### REQ-INST-11
2026-06-06T06:01:02.9869887Z - Title: spt rename <id> rippled to all instances (collision-checked, 6.5-reconciled)
2026-06-06T06:01:02.9870161Z - Required stages: impl, unit
2026-06-06T06:01:02.9870182Z 
2026-06-06T06:01:02.9870401Z ### REQ-INST-12
2026-06-06T06:01:02.9871638Z - Title: Endpoint visibility per-(endpoint,subnet): excluded semantics, OR-of-defaults + override, gates sync
2026-06-06T06:01:02.9871910Z - Required stages: impl, unit
2026-06-06T06:01:02.9871928Z 
2026-06-06T06:01:02.9872146Z ### REQ-INST-13
2026-06-06T06:01:02.9872808Z - Title: Subnet-exclusive sync + per-endpoint subnet-membership list
2026-06-06T06:01:02.9873094Z - Required stages: impl, unit
2026-06-06T06:01:02.9873116Z 
2026-06-06T06:01:02.9873333Z ### REQ-INST-14
2026-06-06T06:01:02.9875023Z - Title: Resource advertisement (subnet resource registry): free-text blurb, both-authored, registry projection, visibility/whitelist-gated
2026-06-06T06:01:02.9875329Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9875348Z 
2026-06-06T06:01:02.9875554Z ### REQ-INST-15
2026-06-06T06:01:02.9879191Z - Title: Immutable home subnet (assigned at creation: auto-if-one/ask-if-many) + spt fork (cross-subnet clone to a new identity, copy-then-diverge, not re-home); adapter chosen at creation from registered hostable adapters, changed only via launch/resume-under-new (ADR-0010)
2026-06-06T06:01:02.9879496Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9879515Z 
2026-06-06T06:01:02.9879733Z ### REQ-REACH-1
2026-06-06T06:01:02.9880206Z - Title: Off-node remote-drive detection + file transfer
2026-06-06T06:01:02.9880710Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9880744Z 
2026-06-06T06:01:02.9880955Z ### REQ-REACH-2
2026-06-06T06:01:02.9881465Z - Title: Remote command execution (deferred, consent-gated)
2026-06-06T06:01:02.9881710Z - Required stages: 
2026-06-06T06:01:02.9881728Z 
2026-06-06T06:01:02.9881943Z ### REQ-MSG-1
2026-06-06T06:01:02.9884013Z - Title: Local message delivery: TCP-first to a registered address, spool fallback when offline; id->address via registry (stale-clean first); reply routing (__REPLY_TO__)
2026-06-06T06:01:02.9884311Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9884331Z 
2026-06-06T06:01:02.9884547Z ### REQ-MSG-2
2026-06-06T06:01:02.9885635Z - Title: spt binary CLI surface: send/ring/ready(+--once)/list/stop/whoami, stable arg shapes + exit codes
2026-06-06T06:01:02.9885914Z - Required stages: impl, unit
2026-06-06T06:01:02.9885939Z 
2026-06-06T06:01:02.9886151Z ### REQ-MSG-3
2026-06-06T06:01:02.9887875Z - Title: Ready-agent lifecycle: register perch (info.json + listener + registry address) on ready, drain spooled backlog on startup, clean teardown
2026-06-06T06:01:02.9888166Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9888184Z 
2026-06-06T06:01:02.9888420Z ### REQ-NODE-IDENTITY
2026-06-06T06:01:02.9889479Z - Title: Ed25519 identity primitive: keypair, detached sign/verify, stable pubkey<->hex
2026-06-06T06:01:02.9889752Z - Required stages: impl, unit
2026-06-06T06:01:02.9889784Z 
2026-06-06T06:01:02.9889988Z ### REQ-NET-1
2026-06-06T06:01:02.9890641Z - Title: WAN messaging first-class, behind default-on net feature flag
2026-06-06T06:01:02.9890918Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9890939Z 
2026-06-06T06:01:02.9891153Z ### REQ-NET-2
2026-06-06T06:01:02.9891763Z - Title: n0 relay default + self-host knob + plain-language disclosure
2026-06-06T06:01:02.9892021Z - Required stages: impl
2026-06-06T06:01:02.9892041Z 
2026-06-06T06:01:02.9892252Z ### REQ-NET-3
2026-06-06T06:01:02.9892812Z - Title: Cross-node Psyche sync over P2P replaces gh-repo-sync
2026-06-06T06:01:02.9893090Z - Required stages: impl, unit
2026-06-06T06:01:02.9893109Z 
2026-06-06T06:01:02.9893316Z ### REQ-PAIR-1
2026-06-06T06:01:02.9893613Z - Title: TOTP-seeded SPAKE2 pairing
2026-06-06T06:01:02.9893910Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9893929Z 
2026-06-06T06:01:02.9894141Z ### REQ-PAIR-2
2026-06-06T06:01:02.9894563Z - Title: Local trust store with TOFU + warn-on-change
2026-06-06T06:01:02.9894826Z - Required stages: impl, unit
2026-06-06T06:01:02.9894845Z 
2026-06-06T06:01:02.9895065Z ### REQ-PAIR-3
2026-06-06T06:01:02.9895543Z - Title: Fetch current pairing code from any paired node
2026-06-06T06:01:02.9895804Z - Required stages: impl, unit
2026-06-06T06:01:02.9895824Z 
2026-06-06T06:01:02.9896556Z ### REQ-PAIR-4
2026-06-06T06:01:02.9896999Z - Title: Subnet naming on first pairing
2026-06-06T06:01:02.9897313Z - Required stages: impl, unit
2026-06-06T06:01:02.9897410Z 
2026-06-06T06:01:02.9897684Z ### REQ-PAIR-5
2026-06-06T06:01:02.9899040Z - Title: Multi-subnet pairing: subnet-name discovery input, create-new-names-up-front, rendezvous-token hashing
2026-06-06T06:01:02.9899519Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9899543Z 
2026-06-06T06:01:02.9899896Z ### REQ-PAIR-6
2026-06-06T06:01:02.9900990Z - Title: Elevation-gated per-subnet code fetch (UAC/root or elevated agent; else authenticator app)
2026-06-06T06:01:02.9901378Z - Required stages: impl, unit
2026-06-06T06:01:02.9901397Z 
2026-06-06T06:01:02.9901677Z ### REQ-PAIR-7
2026-06-06T06:01:02.9902310Z - Title: Subnet icon (inline image metadata, GUI-only consumer)
2026-06-06T06:01:02.9902654Z - Required stages: 
2026-06-06T06:01:02.9902677Z 
2026-06-06T06:01:02.9902997Z ### REQ-SUBNET-1
2026-06-06T06:01:02.9904428Z - Title: spt subnet noun namespace: status view (bare + status [NAME] [--nodes]), create (QR/otpauth), show-totp; spt pair deleted
2026-06-06T06:01:02.9904769Z - Required stages: impl, unit
2026-06-06T06:01:02.9904945Z 
2026-06-06T06:01:02.9905266Z ### REQ-SUBNET-2
2026-06-06T06:01:02.9906301Z - Title: Guided join e2e: spt subnet join CLI initiator + always-on daemon pairing responder
2026-06-06T06:01:02.9906677Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9906698Z 
2026-06-06T06:01:02.9906970Z ### REQ-SUBNET-3
2026-06-06T06:01:02.9908154Z - Title: Node labels: hostname-default, gossiped, addressable in @node qualifiers (refuse-on-ambiguity)
2026-06-06T06:01:02.9908524Z - Required stages: impl, unit
2026-06-06T06:01:02.9908548Z 
2026-06-06T06:01:02.9908886Z ### REQ-SUBNET-4
2026-06-06T06:01:02.9910254Z - Title: Subnet membership mutations elevation-gated (create = seed reveal; join = trust-boundary enrollment)
2026-06-06T06:01:02.9910567Z - Required stages: impl, unit
2026-06-06T06:01:02.9910589Z 
2026-06-06T06:01:02.9910867Z ### REQ-DOCS-6
2026-06-06T06:01:02.9912348Z - Title: spt how-to <topic>: in-binary task-oriented agent instructions (anti-drift; quickstart prompts point agents at it)
2026-06-06T06:01:02.9912784Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9912810Z 
2026-06-06T06:01:02.9913108Z ### REQ-SEC-1
2026-06-06T06:01:02.9914934Z - Title: Per-endpoint access whitelist: origin-node gate, stateful-firewall (reply/outbound exempt), node-now/user-later, outer gate before grants
2026-06-06T06:01:02.9915422Z - Required stages: impl, unit
2026-06-06T06:01:02.9915444Z 
2026-06-06T06:01:02.9915765Z ### REQ-NOTIF-1
2026-06-06T06:01:02.9917497Z - Title: Notification primitive: per-subnet replicated spool, seen/dismissed, resurface-at-boundary, subsumes update+consent prompts
2026-06-06T06:01:02.9917866Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9917888Z 
2026-06-06T06:01:02.9918136Z ### REQ-NOTIF-2
2026-06-06T06:01:02.9919353Z - Title: spt notify (agent-issued subnet notif) + notif_command manifest seam (harness + shell adapters)
2026-06-06T06:01:02.9919747Z - Required stages: doc, impl, unit, int
2026-06-06T06:01:02.9919847Z 
2026-06-06T06:01:02.9920109Z ### REQ-UPD-1
2026-06-06T06:01:02.9920533Z - Title: Peer-propagated update over P2P
2026-06-06T06:01:02.9920857Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9920879Z 
2026-06-06T06:01:02.9921167Z ### REQ-UPD-2
2026-06-06T06:01:02.9921727Z - Title: All binaries signature-verified before handoff
2026-06-06T06:01:02.9922123Z - Required stages: impl, unit
2026-06-06T06:01:02.9922143Z 
2026-06-06T06:01:02.9922434Z ### REQ-UPD-3
2026-06-06T06:01:02.9923074Z - Title: No endpoint process terminates/suspends during self-update
2026-06-06T06:01:02.9923434Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9923454Z 
2026-06-06T06:01:02.9923746Z ### REQ-UPD-4
2026-06-06T06:01:02.9924512Z - Title: Update gated on user confirmation by default; opt-in full-auto
2026-06-06T06:01:02.9924869Z - Required stages: impl, unit
2026-06-06T06:01:02.9924891Z 
2026-06-06T06:01:02.9925158Z ### REQ-UPD-5
2026-06-06T06:01:02.9925669Z - Title: spt-core ripple-updates registered adapters
2026-06-06T06:01:02.9926028Z - Required stages: impl, unit
2026-06-06T06:01:02.9926060Z 
2026-06-06T06:01:02.9926382Z ### REQ-TERM-1
2026-06-06T06:01:02.9927072Z - Title: Process-supervisor terminal wrapper hosting broker PTYs
2026-06-06T06:01:02.9927398Z - Required stages: impl, unit
2026-06-06T06:01:02.9927419Z 
2026-06-06T06:01:02.9927703Z ### REQ-TERM-2
2026-06-06T06:01:02.9928446Z - Title: session-surface abstraction; send-keys + send-line injection
2026-06-06T06:01:02.9928833Z - Required stages: impl, unit
2026-06-06T06:01:02.9928858Z 
2026-06-06T06:01:02.9929214Z ### REQ-TERM-3
2026-06-06T06:01:02.9929694Z - Title: Byte-stream remote terminal streaming for v1
2026-06-06T06:01:02.9930036Z - Required stages: impl, unit
2026-06-06T06:01:02.9930057Z 
2026-06-06T06:01:02.9930372Z ### REQ-TERM-4
2026-06-06T06:01:02.9932081Z - Title: Live activity buffer (PTY digest): adapter-supplied patterns over broker PTY, spt digest pull + delta-stream, opt-in Path-B log
2026-06-06T06:01:02.9932471Z - Required stages: impl, unit, int
2026-06-06T06:01:02.9932495Z 
2026-06-06T06:01:02.9932910Z ### REQ-FRONT-1
2026-06-06T06:01:02.9933594Z - Title: Day-one launcher/manager frontend (list/launch/attach/init)
2026-06-06T06:01:02.9933927Z - Required stages: 
2026-06-06T06:01:02.9934019Z 
2026-06-06T06:01:02.9934296Z ### REQ-INSTALL-1
2026-06-06T06:01:02.9935085Z - Title: Two install paths; signed one-line script; OS-service registration
2026-06-06T06:01:02.9935576Z - Required stages: doc, impl, int
2026-06-06T06:01:02.9935598Z 
2026-06-06T06:01:02.9935884Z ### REQ-INSTALL-2
2026-06-06T06:01:02.9936441Z - Title: Marketplace-repackaging-friendly install
2026-06-06T06:01:02.9936808Z - Required stages: doc
2026-06-06T06:01:02.9936829Z 
2026-06-06T06:01:02.9937132Z ### REQ-INSTALL-3
2026-06-06T06:01:02.9937605Z - Title: Idempotent + interactive-optional first run
2026-06-06T06:01:02.9937937Z - Required stages: impl, int
2026-06-06T06:01:02.9937955Z 
2026-06-06T06:01:02.9938272Z ### REQ-INSTALL-4
2026-06-06T06:01:02.9941604Z - Title: Adapter registration lifecycle: spt adapter add (--github, manifest-first, install-is-first-update) + soft-deregister remove + optional manifest uninstall template; node-local registered-adapter set self-update ripples over
2026-06-06T06:01:02.9941982Z - Required stages: impl, unit
2026-06-06T06:01:02.9942002Z 
2026-06-06T06:01:02.9942255Z ### REQ-MIGRATE-1
2026-06-06T06:01:02.9943071Z - Title: Auto-detect and migrate a legacy claude_skill_owl install
2026-06-06T06:01:02.9943491Z - Required stages: 
2026-06-06T06:01:02.9943513Z 
2026-06-06T06:01:02.9943762Z ### REQ-INFRA-1
2026-06-06T06:01:02.9944471Z - Title: GitHub issue tracking for v1; tangled.org as migration target
2026-06-06T06:01:02.9944737Z - Required stages: 
2026-06-06T06:01:02.9944754Z 
2026-06-06T06:01:02.9945033Z ### REQ-INSTALL-5
2026-06-06T06:01:02.9947468Z - Title: Non-interactive install path: the canonical one-liner doubles as every adapter's pack-in on-demand install (no second mechanism); sha256-verified fetch; user-PATH registration
2026-06-06T06:01:02.9947859Z - Required stages: impl, int
2026-06-06T06:01:02.9947889Z 
2026-06-06T06:01:02.9948174Z ### REQ-REL-1
2026-06-06T06:01:02.9950029Z - Title: spt-releases publish-target repo: README public face, licensing split, Pages docs at the permanent lapse-proof canonical URL (ADR-0014)
2026-06-06T06:01:02.9950383Z - Required stages: doc, impl
2026-06-06T06:01:02.9950418Z 
2026-06-06T06:01:02.9950779Z ### REQ-REL-2
2026-06-06T06:01:02.9953147Z - Title: Release asset set consumable by the self-updater: platform binaries, SHA256SUMS, SignedRelease metadata, manifest schema, mock-adapter zip; tag-triggered cross-repo pipeline
2026-06-06T06:01:02.9953498Z - Required stages: impl, int
2026-06-06T06:01:02.9953517Z 
2026-06-06T06:01:02.9953761Z ### REQ-REL-3
2026-06-06T06:01:02.9955892Z - Title: Two-key release-signing trust anchor: primary + offline never-used recovery, both pubkeys embedded in the binary's trusted set, manual local signing (ADR-0015)
2026-06-06T06:01:02.9956290Z - Required stages: impl, unit
2026-06-06T06:01:02.9956311Z 
2026-06-06T06:01:02.9963705Z ### REQ-DOCS-1
2026-06-06T06:01:02.9964597Z - Title: Dual-audience docs (human + AI dev-agent), markdown once / two depths
2026-06-06T06:01:02.9964868Z - Required stages: doc, impl
2026-06-06T06:01:02.9964888Z 
2026-06-06T06:01:02.9965108Z ### REQ-DOCS-2
2026-06-06T06:01:02.9965669Z - Title: Sub-10-minute runnable killer quickstart per audience
2026-06-06T06:01:02.9965936Z - Required stages: doc, int
2026-06-06T06:01:02.9965954Z 
2026-06-06T06:01:02.9966157Z ### REQ-DOCS-3
2026-06-06T06:01:02.9966909Z - Title: Diátaxis structure; one canonical way to do X
2026-06-06T06:01:02.9967161Z - Required stages: doc
2026-06-06T06:01:02.9967178Z 
2026-06-06T06:01:02.9967378Z ### REQ-DOCS-4
2026-06-06T06:01:02.9968090Z - Title: Agent-consumable layer (llms.txt, manifest schema, MCP, CLI help)
2026-06-06T06:01:02.9968364Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9968380Z 
2026-06-06T06:01:02.9968595Z ### REQ-DOCS-5
2026-06-06T06:01:02.9969385Z - Title: Anti-drift: rustdoc/schema/exports/CLI-help generated + CI-checked
2026-06-06T06:01:02.9969974Z - Required stages: impl, int
2026-06-06T06:01:02.9969991Z 
2026-06-06T06:01:02.9970296Z ### REQ-HAZARD-GRACE-BEFORE-SIGNOFF
2026-06-06T06:01:02.9970968Z - Title: Grace-period wait completes before composing INIT_SIGNOFF (1.1)
2026-06-06T06:01:02.9971285Z - Required stages: impl, unit
2026-06-06T06:01:02.9971306Z 
2026-06-06T06:01:02.9971610Z ### REQ-HAZARD-INFO-JSON-TORN-READ
2026-06-06T06:01:02.9972091Z - Title: State-file reads tolerate concurrent writes (1.2)
2026-06-06T06:01:02.9972365Z - Required stages: impl, unit
2026-06-06T06:01:02.9972381Z 
2026-06-06T06:01:02.9972655Z ### REQ-HAZARD-STALE-INDEX-LOCK
2026-06-06T06:01:02.9973068Z - Title: Sweep stale lockfiles on daemon boot (1.3)
2026-06-06T06:01:02.9973336Z - Required stages: impl, unit
2026-06-06T06:01:02.9973353Z 
2026-06-06T06:01:02.9973624Z ### REQ-HAZARD-DEFERRED-DRAIN
2026-06-06T06:01:02.9974276Z - Title: Deferred spool rows excluded from the event-stream drain (1.4)
2026-06-06T06:01:02.9974533Z - Required stages: impl, unit
2026-06-06T06:01:02.9974562Z 
2026-06-06T06:01:02.9974835Z ### REQ-HAZARD-WORKER-PATH
2026-06-06T06:01:02.9975468Z - Title: Single source of truth for Worker/Psyche perch location (1.5)
2026-06-06T06:01:02.9975727Z - Required stages: impl, unit
2026-06-06T06:01:02.9975882Z 
2026-06-06T06:01:02.9976199Z ### REQ-HAZARD-PARENT-PID-PREFER
2026-06-06T06:01:02.9976873Z - Title: Prefer stable parent PID / broker handle over ephemeral PID (2.1)
2026-06-06T06:01:02.9977101Z - Required stages: 
2026-06-06T06:01:02.9977119Z 
2026-06-06T06:01:02.9977400Z ### REQ-HAZARD-STDIN-SESSION-ID
2026-06-06T06:01:02.9977798Z - Title: Stdin session_id precedence over env (2.2)
2026-06-06T06:01:02.9978030Z - Required stages: 
2026-06-06T06:01:02.9978046Z 
2026-06-06T06:01:02.9978346Z ### REQ-HAZARD-HANDOFF-ARGV-COMPAT
2026-06-06T06:01:02.9978905Z - Title: Broker/brain IPC + handoff argv version-tolerant (2.3)
2026-06-06T06:01:02.9979218Z - Required stages: impl, unit
2026-06-06T06:01:02.9979250Z 
2026-06-06T06:01:02.9979539Z ### REQ-HAZARD-GEN-START-NOW
2026-06-06T06:01:02.9980012Z - Title: gen_start = now() on cold-start and handoff (2.4)
2026-06-06T06:01:02.9980277Z - Required stages: impl, int
2026-06-06T06:01:02.9980292Z 
2026-06-06T06:01:02.9980590Z ### REQ-HAZARD-EPHEMERAL-CLEANUP
2026-06-06T06:01:02.9981144Z - Title: Ephemeral perch cleanup on every ring exit path (3.1)
2026-06-06T06:01:02.9981419Z - Required stages: impl, unit
2026-06-06T06:01:02.9981437Z 
2026-06-06T06:01:02.9981768Z ### REQ-HAZARD-STALE-SIGNOFF-SENTINEL
2026-06-06T06:01:02.9982326Z - Title: Stale signoff sentinel does not kill a fresh start (3.2)
2026-06-06T06:01:02.9982604Z - Required stages: impl, unit
2026-06-06T06:01:02.9982621Z 
2026-06-06T06:01:02.9982916Z ### REQ-HAZARD-ECHO-BEFORE-SIGNOFF
2026-06-06T06:01:02.9983591Z - Title: Echo-commune fires before INIT_SIGNOFF on orphan teardown (3.3)
2026-06-06T06:01:02.9983863Z - Required stages: impl, unit
2026-06-06T06:01:02.9983881Z 
2026-06-06T06:01:02.9984188Z ### REQ-HAZARD-ENVELOPE-DECODE-ORDER
2026-06-06T06:01:02.9984721Z - Title: Envelope decode order, ampersand decoded last (4.1)
2026-06-06T06:01:02.9984983Z - Required stages: impl, unit
2026-06-06T06:01:02.9984999Z 
2026-06-06T06:01:02.9985335Z ### REQ-HAZARD-ENVELOPE-PARSER-SAFE
2026-06-06T06:01:02.9985960Z - Title: Two-slice envelope parser is panic-free and tolerant (4.2)
2026-06-06T06:01:02.9986221Z - Required stages: impl, unit
2026-06-06T06:01:02.9986238Z 
2026-06-06T06:01:02.9986552Z ### REQ-HAZARD-EVENTPART-REASSEMBLY
2026-06-06T06:01:02.9987352Z - Title: EVENT-PART split/reassembly is byte-exact; orphan parts dropped silently
2026-06-06T06:01:02.9987624Z - Required stages: impl, unit
2026-06-06T06:01:02.9987642Z 
2026-06-06T06:01:02.9987897Z ### REQ-HAZARD-ID-CHARSET
2026-06-06T06:01:02.9988867Z - Title: Addressable-id charset reserves :/@ delimiters; validated at every creation seam (4.6)
2026-06-06T06:01:02.9989141Z - Required stages: impl, unit
2026-06-06T06:01:02.9989253Z 
2026-06-06T06:01:02.9989560Z ### REQ-HAZARD-REGISTRY-STALE-CLEAN
2026-06-06T06:01:02.9990427Z - Title: Stale registry entries degrade to fallback, never hard-fail (4.3)
2026-06-06T06:01:02.9990697Z - Required stages: impl, unit
2026-06-06T06:01:02.9990715Z 
2026-06-06T06:01:02.9991012Z ### REQ-HAZARD-REGISTRY-CONCURRENT
2026-06-06T06:01:02.9992036Z - Title: Concurrent SQLite openers (registry/spool) must not fail with 'database is locked' (4.7)
2026-06-06T06:01:02.9992300Z - Required stages: impl, unit
2026-06-06T06:01:02.9992315Z 
2026-06-06T06:01:02.9992623Z ### REQ-HAZARD-REGISTRY-DIR-CREATE
2026-06-06T06:01:02.9994108Z - Title: SQLite store opens create their parent dir themselves — a fresh-home registry op must not SQLITE_CANTOPEN (4.9)
2026-06-06T06:01:02.9994394Z - Required stages: doc, impl, unit
2026-06-06T06:01:02.9994412Z 
2026-06-06T06:01:02.9994719Z ### REQ-HAZARD-REGISTRY-EPOCH-LEASE
2026-06-06T06:01:02.9996464Z - Title: Registry merge ordered by per-node monotonic epoch, never wall-clock — a stale Active can't clobber a newer Offline (4.8, red-team #8)
2026-06-06T06:01:02.9996777Z - Required stages: impl, unit
2026-06-06T06:01:02.9996795Z 
2026-06-06T06:01:02.9997126Z ### REQ-HAZARD-DEFERRED-SURVIVE-DRAIN
2026-06-06T06:01:02.9997494Z - Title: Deferred rows survive poll drain (4.4)
2026-06-06T06:01:02.9997765Z - Required stages: impl, unit
2026-06-06T06:01:02.9997948Z 
2026-06-06T06:01:02.9998229Z ### REQ-HAZARD-INBOX-NO-DOUBLE
2026-06-06T06:01:02.9998627Z - Title: No double-delivery via legacy inbox (4.5)
2026-06-06T06:01:02.9998895Z - Required stages: impl, unit
2026-06-06T06:01:02.9998912Z 
2026-06-06T06:01:02.9999266Z ### REQ-HAZARD-WINDOWS-PID-RECYCLE
2026-06-06T06:01:02.9999810Z - Title: Windows PID-recycling false positives guarded (5.1)
2026-06-06T06:01:03.0000074Z - Required stages: impl, unit
2026-06-06T06:01:03.0000091Z 
2026-06-06T06:01:03.0000364Z ### REQ-HAZARD-EBUSY-RENAME
2026-06-06T06:01:03.0000933Z - Title: tmp-write + atomic-rename + retry on Windows EBUSY (5.2)
2026-06-06T06:01:03.0001193Z - Required stages: impl, unit
2026-06-06T06:01:03.0001219Z 
2026-06-06T06:01:03.0001524Z ### REQ-HAZARD-SUBPROCESS-TIMEOUT
2026-06-06T06:01:03.0001998Z - Title: Every harness/git subprocess has a timeout (5.3)
2026-06-06T06:01:03.0002275Z - Required stages: impl, unit
2026-06-06T06:01:03.0002292Z 
2026-06-06T06:01:03.0002590Z ### REQ-HAZARD-UNC-PATH-STRIP
2026-06-06T06:01:03.0003091Z - Title: Strip Windows UNC prefix on serialized paths (5.4)
2026-06-06T06:01:03.0003366Z - Required stages: impl, unit
2026-06-06T06:01:03.0003382Z 
2026-06-06T06:01:03.0003673Z ### REQ-HAZARD-SINGLE-PATH-SOURCE
2026-06-06T06:01:03.0004345Z - Title: Single path/registry source of truth; no layout ambiguity (6.1)
2026-06-06T06:01:03.0004616Z - Required stages: impl, unit
2026-06-06T06:01:03.0004631Z 
2026-06-06T06:01:03.0004890Z ### REQ-HAZARD-SOFT-CLEANUP
2026-06-06T06:01:03.0005599Z - Title: Soft-cleanup preserves state, removes only the ready marker (6.2)
2026-06-06T06:01:03.0005856Z - Required stages: impl, unit
2026-06-06T06:01:03.0005872Z 
2026-06-06T06:01:03.0006190Z ### REQ-HAZARD-CASCADE-WIPE-GUARD
2026-06-06T06:01:03.0006778Z - Title: No hard-delete of a parent hosting non-empty children (6.3)
2026-06-06T06:01:03.0007058Z - Required stages: impl, unit
2026-06-06T06:01:03.0007073Z 
2026-06-06T06:01:03.0007405Z ### REQ-HAZARD-DROP-FILE-SINGLE-WRITER
2026-06-06T06:01:03.0007879Z - Title: Drop files are daemon-owned single-writer (6.4)
2026-06-06T06:01:03.0008149Z - Required stages: impl, unit
2026-06-06T06:01:03.0008164Z 
2026-06-06T06:01:03.0008491Z ### REQ-HAZARD-DIRECT-WRITE-PRECEDENCE
2026-06-06T06:01:03.0009370Z - Title: Direct-write precedence marker (with node id) guards stale overwrite (6.5)
2026-06-06T06:01:03.0009646Z - Required stages: impl, unit
2026-06-06T06:01:03.0009662Z 
2026-06-06T06:01:03.0009986Z ### REQ-HAZARD-CONFLICT-BOTH-PRESERVED
2026-06-06T06:01:03.0012741Z - Title: A surfaced concurrent context pair is durably preserved (both versions, tracked artifacts) until a strictly dominating write clears it; no reconcile failure path discards an unmerged version (6.6, ADR-0013)
2026-06-06T06:01:03.0013185Z - Required stages: impl, unit
2026-06-06T06:01:03.0013205Z 
2026-06-06T06:01:03.0013518Z ### REQ-HAZARD-DETACHED-PIPE-INHERIT
2026-06-06T06:01:03.0018664Z - Title: Windows detached long-lived children must not inherit a captured caller's pipe: every detach-spawn of an immortal child (daemon, shell binary) runs bInheritHandles=FALSE, or a caller capturing output anywhere up the process chain hangs forever on a pipe that never EOFs — std-handle flag stripping is NOT sufficient (grandparent strays still flow) (5.6)
2026-06-06T06:01:03.0018954Z - Required stages: impl, unit
2026-06-06T06:01:03.0018983Z 
2026-06-06T06:01:03.0019275Z ### REQ-HAZARD-CONPTY-DSR
2026-06-06T06:01:03.0020109Z - Title: ConPTY reader must auto-answer DSR (ESC[6n) or all child output stalls (5.5)
2026-06-06T06:01:03.0020379Z - Required stages: impl, unit
2026-06-06T06:01:03.0020395Z 
2026-06-06T06:01:03.0020673Z ### REQ-HAZARD-LOCAL-API-AUTH
2026-06-06T06:01:03.0021474Z - Title: Every local `api` mutation authenticated to an endpoint/session (codex #13)
2026-06-06T06:01:03.0021780Z - Required stages: impl, unit
2026-06-06T06:01:03.0021797Z 
2026-06-06T06:01:03.0022097Z ### REQ-HAZARD-RESTART-IDEMPOTENT
2026-06-06T06:01:03.0023166Z - Title: Idempotent/exactly-once delivery across brain restart at every broker boundary (codex #14)
2026-06-06T06:01:03.0023671Z - Required stages: impl, unit, int
2026-06-06T06:01:03.0023691Z 
2026-06-06T06:01:03.0023969Z ### REQ-HAZARD-UPDATE-ROLLBACK
2026-06-06T06:01:03.0025034Z - Title: Self-update rejects version rollback; metadata expiry + adapter content signing (codex #5)
2026-06-06T06:01:03.0025308Z - Required stages: impl, unit
2026-06-06T06:01:03.0025325Z 
2026-06-06T06:01:03.0025643Z ### REQ-HAZARD-DAEMON-HOSTED-LIVENESS
2026-06-06T06:01:03.0027605Z - Title: Daemon-hosted perches (Psyche, spt-hosted Self) derive liveness from the daemon endpoint table + info.json status, never is_process_alive(info.pid) (2.5)
2026-06-06T06:01:03.0027883Z - Required stages: impl, unit, int
2026-06-06T06:01:03.0027925Z 
2026-06-06T06:01:03.0028240Z ### REQ-HAZARD-PSYCHE-OUTBOUND-PROXY
2026-06-06T06:01:03.0032098Z - Title: Psyche outbound captured + sanitized: the live-Psyche turn driver captures stdout (never Stdio::null), and the daemon strips/re-stamps Psyche-supplied from=/target and constrains routing (reply→__REPLY_TO__ sender, notify→own user/subnet) (7.3)
2026-06-06T06:01:03.0032393Z - Required stages: impl, unit
2026-06-06T06:01:03.0032412Z 
2026-06-06T06:01:03.0032753Z ### REQ-HAZARD-DAEMON-SCHED-NONBLOCKING
2026-06-06T06:01:03.0036014Z - Title: Per-agent pulse/psyche/echo-commune scheduling must not serialize across agents: each agent's bounded LLM call (echo-commune summarizer, Psyche turn) runs off the shared scheduler so one slow/hung call cannot stall another agent's tick (7.4)
2026-06-06T06:01:03.0036283Z - Required stages: impl, unit
2026-06-06T06:01:03.0036301Z 
2026-06-06T06:01:03.0036622Z ### REQ-HAZARD-PAIR-TRANSCRIPT-BIND
2026-06-06T06:01:03.0039625Z - Title: Pairing transcript binds roles, both node pubkeys, subnet ID, seed epoch, TOTP time-step, and confirmation MACs — or unknown-key-share/reflection/wrong-subnet/replay pairing remain possible (ADR-0005 #12)
2026-06-06T06:01:03.0039952Z - Required stages: impl, unit
2026-06-06T06:01:03.0040015Z 
2026-06-06T06:01:03.0040322Z ### REQ-HAZARD-PAIR-SEED-ROTATION
2026-06-06T06:01:03.0042906Z - Title: Removing a node rotates the subnet seed (epoch bump) so an old node/old seed cannot rejoin; trust-store delete alone is NOT revocation because the seed is replicated to every trusted node (ADR-0005 #10)
2026-06-06T06:01:03.0043183Z - Required stages: impl, unit
2026-06-06T06:01:03.0043200Z 
2026-06-06T06:01:03.0043495Z ### REQ-HAZARD-PAIR-RATE-LIMIT
2026-06-06T06:01:03.0047491Z - Title: Subnet-global pairing rate limit: one active ceremony per subnet, shared attempt counter, exponential backoff — a public pre-trust relay + multiple seed-holders otherwise enables distributed SPAKE2 guessing (and ±1 TOTP window triples the valid-password space) (ADR-0005 #11)
2026-06-06T06:01:03.0047976Z - Required stages: impl, unit
2026-06-06T06:01:03.0047995Z 
2026-06-06T06:01:03.0048268Z ### REQ-HAZARD-WAN-ORIGIN-AUTH
2026-06-06T06:01:03.0052562Z - Title: WAN-inbound origin is transport truth, never payload: the access gate's subject (ADR-0009 origin-node whitelist) is the QUIC handshake-proven remote node id from the broker's conn/stream table — a forged origin/node field inside record bytes is inert (7.5)
2026-06-06T06:01:03.0052901Z - Required stages: doc, impl, unit
2026-06-06T06:01:03.0052920Z 
2026-06-06T06:01:03.0053134Z ### REQ-CONSENT-1
2026-06-06T06:01:03.0057828Z - Title: Consent grant store: capability x subject-agent x target-node rows, enforced at the target node, subnet-settable (replicates as security material near the trust store), revocable; gated-capability ids (remote-exec, instantiate-anywhere) reserved-but-refusing; v1 consumers are the shell spawn gates (CONTEXT Consent & security gates)
2026-06-06T06:01:03.0058166Z - Required stages: impl, unit
2026-06-06T06:01:03.0058184Z 
2026-06-06T06:01:03.0058403Z ### REQ-CONSENT-2
2026-06-06T06:01:03.0062684Z - Title: Interactive consent escalation: an ungated high-risk action routes a consent prompt to the user's most-recently-active session; allow-once / allow-always (writes a grant) / deny; pre-consent flags (can_shutdown, shell_wake_spawn_anywhere) author grants via manifest/settings (CONTEXT Consent & security gates)
2026-06-06T06:01:03.0063170Z - Required stages: impl, unit
2026-06-06T06:01:03.0063189Z 
2026-06-06T06:01:03.0063393Z ### REQ-PRES-1
2026-06-06T06:01:03.0069941Z - Title: Presence resolution: the presence datum (last_active_node, last_active_endpoint, ts) gossiped subnet-wide via the agent-interaction heartbeat (rides registry distribution, visibility-gated) + one first-class most-recently-active resolution API consumed by notif first-fire, update-consent delivery, consent escalation, and shell wake resolution (M5 scope decision 1: resolution only — the PresenceChannel endpoint stays deferred)
2026-06-06T06:01:03.0070257Z - Required stages: impl, unit, int
2026-06-06T06:01:03.0070275Z 
2026-06-06T06:01:03.0070482Z ### REQ-SHELL-1
2026-06-06T06:01:03.0075093Z - Title: Shell hosting machinery: shell perch under the owner (type/owner/adapter_name/status/alias), broker-launched binary + api bind local-link handshake, the three channels (command durable, text+file durable + progress-queryable, sensory REST-only never spooled + dropped-unless-owner-live), owner exclusivity (CONTEXT Shell model)
2026-06-06T06:01:03.0075413Z - Required stages: impl, unit, int
2026-06-06T06:01:03.0075433Z 
2026-06-06T06:01:03.0080145Z ### REQ-SHELL-2
2026-06-06T06:01:03.0087313Z - Title: Shell sleep/wake: link-break always closes the binary (pre-close instruction + termination timeout), ephemeral teardown vs persistent offline/relink, wake_command wake-watcher (offline-only, exit-opcode supervision, exponential backoff + give-up), state-keyed wake resolution (dormant/suspended/active-elsewhere; no-reachable refuses — spawn-anywhere branch deferred), spt shutdown owner cascade + api owner-shutdown gated by can_shutdown (CONTEXT Shell sleep/wake)
2026-06-06T06:01:03.0087686Z - Required stages: impl, unit, int
2026-06-06T06:01:03.0087704Z 
2026-06-06T06:01:03.0087964Z ## How to report back
2026-06-06T06:01:03.0087984Z 
2026-06-06T06:01:03.0088582Z For every (requirement, failing criterion) pair, emit one finding:
2026-06-06T06:01:03.0088601Z 
2026-06-06T06:01:03.0088779Z     {
2026-06-06T06:01:03.0089060Z       "code": "requirement_quality",
2026-06-06T06:01:03.0089375Z       "requirementId": "REQ-...",
2026-06-06T06:01:03.0089979Z       "criterion": "singular" | "verifiable" | "atomic" | "active-voice",
2026-06-06T06:01:03.0090251Z       "message": "<short reason>",
2026-06-06T06:01:03.0090594Z       "suggestedRevision": "<optional rewrite>"
2026-06-06T06:01:03.0090787Z     }
2026-06-06T06:01:03.0090804Z 
2026-06-06T06:01:03.0091481Z Wrap your response as { "findings": [ ... ] } listing only your concerns; the
2026-06-06T06:01:03.0092246Z deterministic findings above don't need to be repeated.
